﻿namespace StepsManagerLibrary.Interfaces
{
    /// <summary>
    /// Defines a set of methods used to listen to updates
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public interface IObserver<T>
    {
        /// <summary>
        /// Updating the observer as an update happened
        /// </summary>
        /// <param name="notification">Information passed to the Observer</param>
        void Notify(T notification);
    }

    public interface IObserver<T, U>
    {
        void Notify(T notificationType, U parameter);
    }
}
